package com.koron.ticket.work.logicticket.ycpowerlinefirst.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.ticket.work.securityarrangement.bean.SecurityArrangement;
import com.koron.ticket.work.workend.bean.WorkEnd;
import com.koron.ticket.work.workflow.bean.WorkFlow;
import com.koron.ticket.work.workmember.bean.WorkMember;
import com.koron.ticket.work.workteam.bean.WorkTeam;
import com.koron.ticket.work.workyccontent.bean.YcContentBean;
import com.koron.ticket.workchange.ticketchange.bean.TicketChange;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class YcLineFirstDto {

    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "工作票票号")
    private String code;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "工作票类型")
    private String type;

    @ApiModelProperty(value = "工作票状态，来源数据字典，两票管理-ticket_work_status")
    private Integer status;

    @ApiModelProperty(value = "电力电缆双重名")
    private String powerNameDouble;

    @ApiModelProperty(value = "开票人所在单位id、申请单位id")
    private String unit;

    @ApiModelProperty(value = "开票人所在单位name、申请单位名称")
    private String unitName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value="计划工作开始时间")
    private Date estimatedStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value="计划工作结束时间")
    private Date estimatedEndTime;

    @ApiModelProperty(value = "工作班组")
    private List<WorkTeam> workTeamList;

    @ApiModelProperty(value = "工作班组成员")
    private List<WorkMember> workMemberList;

    @ApiModelProperty(value = "外单位标志,0：本单位;1：外单位")
    private Integer externalFlag;

    @ApiModelProperty(value = "作业内容")
    private List<YcContentBean> contentlist;

    @ApiModelProperty(value = "工作负责人")
    private String director;

    @ApiModelProperty(value = "工作负责人名称")
    private String directorName;

    @ApiModelProperty(value = "线路二种安全措施、线路一种其他安全措施和注意事项：")
    private String safetyMsg;

    @ApiModelProperty(value = "线路一种 配合停电线路")
    private String stopPower;

    @ApiModelProperty(value = "线路一种 带电线路、设备名称")
    private String equipmentName;

    @ApiModelProperty(value = "预览标志,0：已预览;1：未预览")
    private Integer previewFlag;

    @ApiModelProperty(value = "创建人ID", hidden = true)
    private String createUserId;

    @ApiModelProperty(value = "创建人姓名", hidden = true)
    private String createUserName;

    @ApiModelProperty(value = "创建单位id", hidden = true)
    private String createDept;

    @ApiModelProperty(value = "创建人单位名称", hidden = true)
    private String createDeptName;

    @ApiModelProperty(value = "最后修改时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "创建人时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "签名信息")
    private List<WorkFlow> workFlowList;

    // 9. 工作票变更信息
    @ApiModelProperty(value = "工作票变更")
    private TicketChange ticketChange;

    // 安全措施项
    @ApiModelProperty(value = "安全措施项")
    private List<SecurityArrangement> securityArrangementList;

    @ApiModelProperty(value = "终结信息")
    private List<WorkEnd> workEndList;

    @ApiModelProperty(value = "备注")
    private String remark;
}
